
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

package com.hlkj.pay.app.merchant.ext;

import javax.servlet.http.HttpServletRequest;

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.framework.extension.ExtensionPointI;
import com.hlkj.pay.app.merchant.ext.dto.profit.ChannelProfitOrderContext;
import com.hlkj.pay.app.merchant.ext.dto.profit.ChannelProfitOrderQueryContext;

/**
 * 通道商户分润
 * 
 * @author HlpayTeam
 * @date 2024/09/12 11:39
 */
public interface ChannelMerchantProfitOrderExtPt extends ExtensionPointI {

    /**
     * 
     * @param channelProfitOrderContext
     */
    void submitOrderProfit(ChannelProfitOrderContext channelProfitOrderContext);

    /**
     * 
     * @param channelProfitOrderQueryContext
     */
    void queryOrderProfit(ChannelProfitOrderQueryContext channelProfitOrderQueryContext);

    /**
     *
     * @param channelProfitOrderContext
     */
    void submitRefundOrderProfit(ChannelProfitOrderContext channelProfitOrderContext);

    /**
     *
     * @param channelProfitOrderQueryContext
     */
    void queryRefundOrderProfit(ChannelProfitOrderQueryContext channelProfitOrderQueryContext);

    /**
     *
     * @param channelProfitOrderContext
     */
    void finishAcctOrder(ChannelProfitOrderContext channelProfitOrderContext);


    CommonResult<String> acctStatusParse(HttpServletRequest request, ChannelProfitOrderContext channelProfitOrderContext);


    /**
     * 资金结算确认
     * @param channelProfitOrderContext
     */
    void settleConfirm(ChannelProfitOrderContext channelProfitOrderContext);
}
